<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>

<body>
    <script>
        // 1.forEach() 迭代遍历 跟for循环等价
        // var arr = [2, 3, 5]
        // arr.forEach(function (value, index, array) {
        //     console.log('数字是' + value);
        //     console.log('索引是' + index);
        //     console.log('数组是' + array);
        // })
        // 原生写法
        // for (var i = 0; i < arr.length; i++) {
        //     console.log(arr[i] + '索引是' + i);
        // }


        //2. filter()返回符合条件的所有元素 主要用于筛选数组 
        // 它直接返回新数组 需要声明接收
        // var arr1 = [2, 3, 6, 23, 45, 67, 43]
        // var newArr = arr1.filter(function (value, index) {
        //     // return value >= 20
        //     return value % 2 === 0
        // })
        // console.log(newArr);
        // 原生写法
        // var arr2 = []
        // for (var i = 0; i < arr1.length; i++) {
        //     // if (arr1[i] >= 20) {
        //     //     arr2.push(arr1[i])
        //     // }
        //     // if(arr1[i] % 2 === 0) {
        //     //     arr2.push(arr1[i])
        //     // }
        // }
        // console.log(arr2);

        // 3.some() 查找数组中是否有满足条件的元素 
        // 返回值为布尔值  且需要声明接收
        // var arr = [10, 20, 34]
        var arr1 = ['red', 'blue', 'pink', 'skyblue']
        //  newArr = arr1.some(function (vl) {
        //     // return vl === 10
        //     // return vl === 'pink'
        //     return vl === 'blue'
        // })
        // console.log(newArr);
        // 原生写法 字符串判断有问题 数组没问题
        // function fn(arr1) {
        //     for (var i = 0; i < arr1.length; i++) {
        //         if (arr1.indexOf('blue') !== -1) {
        //             return true 
        //         }
        //         return false
        //     }
        // }
        // var re = fn(arr1)
        // console.log(re);
//  filter / some 的区别
// filter 查找满足条件的元素 返的是一个新数组 而且是把所有符合条件的元素全部返回回来
// some  同样是查找满足条件 返回的是一个布尔值 如果查找到第一个满足条件的元素就终止循环  


    </script>
</body>

</html>